﻿Imports System.Windows.Forms
Imports System.Xml.XPath
Imports Microsoft.VisualBasic.FileIO
Imports Microsoft.VisualBasic.CompilerServices
Imports System.Linq
Imports System.Collections.Generic
Imports System.Collections
Imports Microsoft.VisualBasic
Imports System.Xml
Imports System.Xml.Linq
Imports System.Data

Imports System
Imports System.Diagnostics
Imports System.Diagnostics.SymbolStore
Imports System.Reflection
Imports System.Resources
Imports System.Reflection.Emit
Module Module1

Public asmName As AssemblyName
Public asm As AssemblyBuilder
Public Typ As Type
Public Typ02 As Type
Public Typ03 As Type
Public impstr(-1) As String
Public impasm(-1) As Assembly
Public interfacebool As Boolean
Public mdl As ModuleBuilder
Public resw As IResourceWriter
Public resobj As Object

Dim doc As ISymbolDocumentWriter

Sub addstr(ByVal str As String)
ReDim Preserve impstr(UBound(impstr) + 1)
impstr(UBound(impstr)) = str
End Sub

Sub addasm(ByVal asm As Assembly)
ReDim Preserve impasm(UBound(impasm) + 1)
impasm(UBound(impasm)) = asm
End Sub

Function MakeGetType(ByVal TypeName As String) As Type
Dim attachbrackets As Boolean = False
If TypeName Like "*[[]*]" Then
Dim split As String() = TypeName.Split(New [Char] () {"[","]"})
TypeName = split(0)
attachbrackets = True
End If
Dim ind As Integer = -1
Dim i As Integer = -1
Dim len As Integer = impstr.Length - 1
Do Until i = len
i = i + 1
If TypeName Like impstr(i) & "*" Then
ind = i
End If
Loop
If ind <> -1 Then
Dim assem As Assembly = impasm(ind)
If attachbrackets = True Then
TypeName = TypeName & "[]"
End If
MakeGetType = assem.GetType(TypeName)
Else
If attachbrackets = True Then
TypeName = TypeName & "[]"
End If
MakeGetType = Type.GetType(TypeName)
End If
Return MakeGetType
End Function

Dim doc2 As ISymbolDocumentWriter

Sub Constants()
Dim Constants As TypeBuilder = mdl.DefineType("dnu" & "." & "Constants", TypeAttributes.Public Or TypeAttributes.AutoClass Or TypeAttributes.AnsiClass, GetType(System.Object))
Dim quot As FieldBuilder = Constants.DefineField("quot", GetType(System.String), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim cr As FieldBuilder = Constants.DefineField("cr", GetType(System.String), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim lf As FieldBuilder = Constants.DefineField("lf", GetType(System.String), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim crlf As FieldBuilder = Constants.DefineField("crlf", GetType(System.String), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim pi As FieldBuilder = Constants.DefineField("pi", GetType(System.Double), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim e As FieldBuilder = Constants.DefineField("e", GetType(System.Double), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim t As FieldBuilder = Constants.DefineField("t", GetType(System.Boolean), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim f As FieldBuilder = Constants.DefineField("f", GetType(System.Boolean), FieldAttributes.Public Or FieldAttributes.Static Or FieldAttributes.InitOnly)
Dim ctor0 As ConstructorBuilder = Constants.DefineConstructor(MethodAttributes.Public Or MethodAttributes.Static,CallingConventions.Standard , Type.EmptyTypes)
Dim ctor0IL As ILGenerator = ctor0.GetILGenerator()
ctor0IL.MarkSequencePoint(doc2, 51, 1, 51, 100)
Dim locbldr0 As LocalBuilder = ctor0IL.DeclareLocal(GetType(System.Char))
locbldr0.SetLocalSymInfo("q")
Dim typ0(-1) As Type
ctor0IL.Emit(OpCodes.Ldstr, "34")
Typ = GetType(System.String)
Dim typ1 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToInt32", typ1))
Typ = GetType(System.Convert).GetMethod("ToInt32", typ1).ReturnType
ReDim Preserve typ0(UBound(typ0) + 1)
typ0(UBound(typ0)) = Typ
ctor0IL.Emit(OpCodes.Call, GetType(Convert).GetMethod("ToChar", typ0))
Typ = GetType(Convert).GetMethod("ToChar", typ0).ReturnType
ctor0IL.Emit(OpCodes.Stloc, 0)
ctor0IL.MarkSequencePoint(doc2, 52, 1, 52, 100)
ctor0IL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.Char)
Dim typ2 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToString", typ2))
Typ = GetType(System.Convert).GetMethod("ToString", typ2).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, quot)
ctor0IL.MarkSequencePoint(doc2, 53, 1, 53, 100)
Dim locbldr1 As LocalBuilder = ctor0IL.DeclareLocal(GetType(System.Char))
locbldr1.SetLocalSymInfo("chr")
ctor0IL.Emit(OpCodes.Ldstr, "a")
Typ = GetType(System.String)
Dim typ3 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToChar", typ3))
Typ = GetType(System.Convert).GetMethod("ToChar", typ3).ReturnType
ctor0IL.Emit(OpCodes.Stloc, 1)
ctor0IL.MarkSequencePoint(doc2, 54, 1, 54, 100)
ctor0IL.Emit(OpCodes.Ldc_I4, 13)
Typ = GetType(System.Int32)
Dim typ4 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToChar", typ4))
Typ = GetType(System.Convert).GetMethod("ToChar", typ4).ReturnType
ctor0IL.Emit(OpCodes.Stloc, 1)
ctor0IL.MarkSequencePoint(doc2, 55, 1, 55, 100)
ctor0IL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Char)
Dim typ5 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToString", typ5))
Typ = GetType(System.Convert).GetMethod("ToString", typ5).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, cr)
ctor0IL.MarkSequencePoint(doc2, 56, 1, 56, 100)
ctor0IL.Emit(OpCodes.Ldc_I4, 10)
Typ = GetType(System.Int32)
Dim typ6 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToChar", typ6))
Typ = GetType(System.Convert).GetMethod("ToChar", typ6).ReturnType
ctor0IL.Emit(OpCodes.Stloc, 1)
ctor0IL.MarkSequencePoint(doc2, 57, 1, 57, 100)
ctor0IL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Char)
Dim typ7 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToString", typ7))
Typ = GetType(System.Convert).GetMethod("ToString", typ7).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, lf)
ctor0IL.MarkSequencePoint(doc2, 58, 1, 58, 100)
Dim typ8(-1) As Type
ctor0IL.Emit(OpCodes.Ldsfld, cr)
Typ = cr.FieldType
ReDim Preserve typ8(UBound(typ8) + 1)
typ8(UBound(typ8)) = Typ
ctor0IL.Emit(OpCodes.Ldsfld, lf)
Typ = lf.FieldType
ReDim Preserve typ8(UBound(typ8) + 1)
typ8(UBound(typ8)) = Typ
ctor0IL.Emit(OpCodes.Call, GetType(String).GetMethod("Concat", typ8))
Typ = GetType(String).GetMethod("Concat", typ8).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, crlf)
ctor0IL.MarkSequencePoint(doc2, 59, 1, 59, 100)
ctor0IL.Emit(OpCodes.Ldstr, "3.1415926535897931")
Typ = GetType(System.String)
Dim typ9 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToDouble", typ9))
Typ = GetType(System.Convert).GetMethod("ToDouble", typ9).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, pi)
ctor0IL.MarkSequencePoint(doc2, 60, 1, 60, 100)
ctor0IL.Emit(OpCodes.Ldstr, "2.7182818284590451")
Typ = GetType(System.String)
Dim typ10 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToDouble", typ10))
Typ = GetType(System.Convert).GetMethod("ToDouble", typ10).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, e)
ctor0IL.MarkSequencePoint(doc2, 61, 1, 61, 100)
ctor0IL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ11 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ11))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ11).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, t)
ctor0IL.MarkSequencePoint(doc2, 62, 1, 62, 100)
ctor0IL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ12 As Type() = {Typ}
ctor0IL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ12))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ12).ReturnType
ctor0IL.Emit(OpCodes.Stsfld, f)
ctor0IL.MarkSequencePoint(doc2, 63, 1, 63, 100)
ctor0IL.Emit(OpCodes.Ret)
Constants.CreateType()
End Sub


Dim doc3 As ISymbolDocumentWriter

Sub XmlUtils()
Dim XmlUtils As TypeBuilder = mdl.DefineType("dnu" & "." & "XmlUtils", TypeAttributes.Public Or TypeAttributes.AutoClass Or TypeAttributes.AnsiClass, GetType(System.Object))
Dim typ0(-1) As Type
ReDim Preserve typ0(UBound(typ0) + 1)
typ0(UBound(typ0)) = GetType(System.String)
Dim MakeNode As MethodBuilder = XmlUtils.DefineMethod("MakeNode", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ0)
Dim MakeNodeIL As ILGenerator = MakeNode.GetILGenerator()
Dim MakeNodeparam01 As ParameterBuilder = MakeNode.DefineParameter(1, ParameterAttributes.None, "name")
MakeNodeIL.MarkSequencePoint(doc3, 5, 1, 5, 100)
Dim locbldr2 As LocalBuilder = MakeNodeIL.DeclareLocal(GetType(XName))
locbldr2.SetLocalSymInfo("n")
Dim typ1(-1) As Type
MakeNodeIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
ReDim Preserve typ1(UBound(typ1) + 1)
typ1(UBound(typ1)) = Typ
MakeNodeIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
ReDim Preserve typ1(UBound(typ1) + 1)
typ1(UBound(typ1)) = Typ
MakeNodeIL.Emit(OpCodes.Call, GetType(XName).GetMethod("Get", typ1))
Typ = GetType(XName).GetMethod("Get", typ1).ReturnType
MakeNodeIL.Emit(OpCodes.Stloc, 0)
MakeNodeIL.MarkSequencePoint(doc3, 6, 1, 6, 100)
Dim locbldr3 As LocalBuilder = MakeNodeIL.DeclareLocal(GetType(XElement))
locbldr3.SetLocalSymInfo("el")
Dim typ2(-1) As Type
MakeNodeIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(XName)
ReDim Preserve typ2(UBound(typ2) + 1)
typ2(UBound(typ2)) = Typ
MakeNodeIL.Emit(OpCodes.Newobj, GetType(XElement).GetConstructor(typ2))
MakeNodeIL.Emit(OpCodes.Stloc, 1)
MakeNodeIL.MarkSequencePoint(doc3, 7, 1, 7, 100)
MakeNodeIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(XElement)
MakeNodeIL.MarkSequencePoint(doc3, 9, 1, 9, 100)
MakeNodeIL.Emit(OpCodes.Ret)
Dim typ3(-1) As Type
ReDim Preserve typ3(UBound(typ3) + 1)
typ3(UBound(typ3)) = GetType(System.String)
ReDim Preserve typ3(UBound(typ3) + 1)
typ3(UBound(typ3)) = GetType(System.String)
Dim MakeAttr As MethodBuilder = XmlUtils.DefineMethod("MakeAttr", MethodAttributes.Public Or MethodAttributes.Static, GetType(XAttribute), typ3)
Dim MakeAttrIL As ILGenerator = MakeAttr.GetILGenerator()
Dim MakeAttrparam01 As ParameterBuilder = MakeAttr.DefineParameter(1, ParameterAttributes.None, "name")
Dim MakeAttrparam02 As ParameterBuilder = MakeAttr.DefineParameter(2, ParameterAttributes.None, "value")
MakeAttrIL.MarkSequencePoint(doc3, 13, 1, 13, 100)
Dim locbldr4 As LocalBuilder = MakeAttrIL.DeclareLocal(GetType(XName))
locbldr4.SetLocalSymInfo("n")
Dim typ4(-1) As Type
MakeAttrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
ReDim Preserve typ4(UBound(typ4) + 1)
typ4(UBound(typ4)) = Typ
MakeAttrIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
ReDim Preserve typ4(UBound(typ4) + 1)
typ4(UBound(typ4)) = Typ
MakeAttrIL.Emit(OpCodes.Call, GetType(XName).GetMethod("Get", typ4))
Typ = GetType(XName).GetMethod("Get", typ4).ReturnType
MakeAttrIL.Emit(OpCodes.Stloc, 0)
MakeAttrIL.MarkSequencePoint(doc3, 14, 1, 14, 100)
Dim locbldr5 As LocalBuilder = MakeAttrIL.DeclareLocal(GetType(Object))
locbldr5.SetLocalSymInfo("obj")
MakeAttrIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
MakeAttrIL.Emit(OpCodes.Box,Typ)
Typ = GetType(System.Object)
MakeAttrIL.Emit(OpCodes.Stloc, 1)
MakeAttrIL.MarkSequencePoint(doc3, 15, 1, 15, 100)
Dim locbldr6 As LocalBuilder = MakeAttrIL.DeclareLocal(GetType(XAttribute))
locbldr6.SetLocalSymInfo("attr")
Dim typ5(-1) As Type
MakeAttrIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(XName)
ReDim Preserve typ5(UBound(typ5) + 1)
typ5(UBound(typ5)) = Typ
MakeAttrIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(Object)
ReDim Preserve typ5(UBound(typ5) + 1)
typ5(UBound(typ5)) = Typ
MakeAttrIL.Emit(OpCodes.Newobj, GetType(XAttribute).GetConstructor(typ5))
MakeAttrIL.Emit(OpCodes.Stloc, 2)
MakeAttrIL.MarkSequencePoint(doc3, 16, 1, 16, 100)
MakeAttrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(XAttribute)
MakeAttrIL.MarkSequencePoint(doc3, 18, 1, 18, 100)
MakeAttrIL.Emit(OpCodes.Ret)
Dim typ6(-1) As Type
ReDim Preserve typ6(UBound(typ6) + 1)
typ6(UBound(typ6)) = GetType(XElement)
ReDim Preserve typ6(UBound(typ6) + 1)
typ6(UBound(typ6)) = GetType(XAttribute)
Dim AddAttr As MethodBuilder = XmlUtils.DefineMethod("AddAttr", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ6)
Dim AddAttrIL As ILGenerator = AddAttr.GetILGenerator()
Dim AddAttrparam01 As ParameterBuilder = AddAttr.DefineParameter(1, ParameterAttributes.None, "el")
Dim AddAttrparam02 As ParameterBuilder = AddAttr.DefineParameter(2, ParameterAttributes.None, "attr")
AddAttrIL.MarkSequencePoint(doc3, 22, 1, 22, 100)
Dim locbldr7 As LocalBuilder = AddAttrIL.DeclareLocal(GetType(Object))
locbldr7.SetLocalSymInfo("attrobj")
AddAttrIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(XAttribute)
AddAttrIL.Emit(OpCodes.Box,Typ)
Typ = GetType(System.Object)
AddAttrIL.Emit(OpCodes.Stloc, 0)
AddAttrIL.MarkSequencePoint(doc3, 23, 1, 23, 100)
Dim typ7(-1) As Type
AddAttrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
Typ03 = Typ
AddAttrIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(Object)
ReDim Preserve typ7(UBound(typ7) + 1)
typ7(UBound(typ7)) = Typ
AddAttrIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("Add", typ7))
Typ = Typ03.GetMethod("Add", typ7).ReturnType
If Typ.ToString() = GetType(System.Void).ToString() Then

Else
AddAttrIL.Emit(OpCodes.Pop)
End If
AddAttrIL.MarkSequencePoint(doc3, 24, 1, 24, 100)
AddAttrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
AddAttrIL.MarkSequencePoint(doc3, 26, 1, 26, 100)
AddAttrIL.Emit(OpCodes.Ret)
Dim typ8(-1) As Type
ReDim Preserve typ8(UBound(typ8) + 1)
typ8(UBound(typ8)) = GetType(XElement)
ReDim Preserve typ8(UBound(typ8) + 1)
typ8(UBound(typ8)) = GetType(XAttribute).MakeArrayType()
Dim AddAttrArr As MethodBuilder = XmlUtils.DefineMethod("AddAttrArr", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ8)
Dim AddAttrArrIL As ILGenerator = AddAttrArr.GetILGenerator()
Dim AddAttrArrparam01 As ParameterBuilder = AddAttrArr.DefineParameter(1, ParameterAttributes.None, "el")
Dim AddAttrArrparam02 As ParameterBuilder = AddAttrArr.DefineParameter(2, ParameterAttributes.None, "attrs")
AddAttrArrIL.MarkSequencePoint(doc3, 30, 1, 30, 100)
Dim locbldr8 As LocalBuilder = AddAttrArrIL.DeclareLocal(GetType(Object))
locbldr8.SetLocalSymInfo("attrobj")
AddAttrArrIL.MarkSequencePoint(doc3, 31, 1, 31, 100)
Dim locbldr9 As LocalBuilder = AddAttrArrIL.DeclareLocal(GetType(System.Int32))
locbldr9.SetLocalSymInfo("len")
AddAttrArrIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(XAttribute).MakeArrayType()
AddAttrArrIL.Emit(OpCodes.Ldlen)
AddAttrArrIL.Emit(OpCodes.Conv_I4)
Typ = GetType(System.Int32)
AddAttrArrIL.Emit(OpCodes.Stloc, 1)
AddAttrArrIL.MarkSequencePoint(doc3, 32, 1, 32, 100)
Dim locbldr10 As LocalBuilder = AddAttrArrIL.DeclareLocal(GetType(System.Int32))
locbldr10.SetLocalSymInfo("i")
AddAttrArrIL.Emit(OpCodes.Ldc_I4, -1)
Typ = GetType(System.Int32)
AddAttrArrIL.Emit(OpCodes.Stloc, 2)
AddAttrArrIL.MarkSequencePoint(doc3, 34, 1, 34, 100)
Dim label0 As System.Reflection.Emit.Label = AddAttrArrIL.DefineLabel()
AddAttrArrIL.MarkSequencePoint(doc3, 35, 1, 35, 100)
Dim label1 As System.Reflection.Emit.Label = AddAttrArrIL.DefineLabel()
AddAttrArrIL.MarkSequencePoint(doc3, 37, 1, 37, 100)
AddAttrArrIL.MarkLabel(label0)
AddAttrArrIL.MarkSequencePoint(doc3, 39, 1, 39, 100)
AddAttrArrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
AddAttrArrIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
AddAttrArrIL.Emit(OpCodes.Add)
AddAttrArrIL.Emit(OpCodes.Stloc, 2)
AddAttrArrIL.MarkSequencePoint(doc3, 41, 1, 41, 100)
AddAttrArrIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(XAttribute).MakeArrayType()
Typ02 = Typ
AddAttrArrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
AddAttrArrIL.Emit(OpCodes.Conv_U)
Typ = Typ02
AddAttrArrIL.Emit(OpCodes.Ldelem, GetType(XAttribute).MakeArrayType().GetElementType())
Typ = GetType(XAttribute).MakeArrayType().GetElementType()
AddAttrArrIL.Emit(OpCodes.Box,Typ)
Typ = GetType(System.Object)
AddAttrArrIL.Emit(OpCodes.Stloc, 0)
AddAttrArrIL.MarkSequencePoint(doc3, 42, 1, 42, 100)
Dim typ9(-1) As Type
AddAttrArrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
Typ03 = Typ
AddAttrArrIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(Object)
ReDim Preserve typ9(UBound(typ9) + 1)
typ9(UBound(typ9)) = Typ
AddAttrArrIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("Add", typ9))
Typ = Typ03.GetMethod("Add", typ9).ReturnType
If Typ.ToString() = GetType(System.Void).ToString() Then

Else
AddAttrArrIL.Emit(OpCodes.Pop)
End If
AddAttrArrIL.MarkSequencePoint(doc3, 44, 1, 44, 100)
AddAttrArrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
AddAttrArrIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Int32)
Dim fa0 As System.Reflection.Emit.Label = AddAttrArrIL.DefineLabel()
Dim tru0 As System.Reflection.Emit.Label = AddAttrArrIL.DefineLabel()
Dim cont0 As System.Reflection.Emit.Label = AddAttrArrIL.DefineLabel()
AddAttrArrIL.Emit(OpCodes.Beq, tru0)
AddAttrArrIL.Emit(OpCodes.Br, fa0)
AddAttrArrIL.MarkLabel(tru0)
AddAttrArrIL.MarkSequencePoint(doc3, 45, 1, 45, 100)
AddAttrArrIL.Emit(OpCodes.Br, label1)
AddAttrArrIL.MarkSequencePoint(doc3, 46, 1, 46, 100)
AddAttrArrIL.Emit(OpCodes.Br, cont0)
AddAttrArrIL.MarkLabel(fa0)
AddAttrArrIL.MarkSequencePoint(doc3, 47, 1, 47, 100)
AddAttrArrIL.Emit(OpCodes.Br, label0)
AddAttrArrIL.MarkSequencePoint(doc3, 48, 1, 48, 100)
AddAttrArrIL.Emit(OpCodes.Br, cont0)
AddAttrArrIL.MarkLabel(cont0)
AddAttrArrIL.MarkSequencePoint(doc3, 50, 1, 50, 100)
AddAttrArrIL.MarkLabel(label1)
AddAttrArrIL.MarkSequencePoint(doc3, 52, 1, 52, 100)
AddAttrArrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
AddAttrArrIL.MarkSequencePoint(doc3, 54, 1, 54, 100)
AddAttrArrIL.Emit(OpCodes.Ret)
Dim typ10(-1) As Type
ReDim Preserve typ10(UBound(typ10) + 1)
typ10(UBound(typ10)) = GetType(XElement)
ReDim Preserve typ10(UBound(typ10) + 1)
typ10(UBound(typ10)) = GetType(XElement)
Dim AddNode As MethodBuilder = XmlUtils.DefineMethod("AddNode", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ10)
Dim AddNodeIL As ILGenerator = AddNode.GetILGenerator()
Dim AddNodeparam01 As ParameterBuilder = AddNode.DefineParameter(1, ParameterAttributes.None, "el")
Dim AddNodeparam02 As ParameterBuilder = AddNode.DefineParameter(2, ParameterAttributes.None, "node")
AddNodeIL.MarkSequencePoint(doc3, 58, 1, 58, 100)
Dim locbldr11 As LocalBuilder = AddNodeIL.DeclareLocal(GetType(Object))
locbldr11.SetLocalSymInfo("nodeobj")
AddNodeIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(XElement)
AddNodeIL.Emit(OpCodes.Box,Typ)
Typ = GetType(System.Object)
AddNodeIL.Emit(OpCodes.Stloc, 0)
AddNodeIL.MarkSequencePoint(doc3, 59, 1, 59, 100)
Dim typ11(-1) As Type
AddNodeIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
Typ03 = Typ
AddNodeIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(Object)
ReDim Preserve typ11(UBound(typ11) + 1)
typ11(UBound(typ11)) = Typ
AddNodeIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("Add", typ11))
Typ = Typ03.GetMethod("Add", typ11).ReturnType
If Typ.ToString() = GetType(System.Void).ToString() Then

Else
AddNodeIL.Emit(OpCodes.Pop)
End If
AddNodeIL.MarkSequencePoint(doc3, 60, 1, 60, 100)
AddNodeIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
AddNodeIL.MarkSequencePoint(doc3, 62, 1, 62, 100)
AddNodeIL.Emit(OpCodes.Ret)
Dim typ12(-1) As Type
ReDim Preserve typ12(UBound(typ12) + 1)
typ12(UBound(typ12)) = GetType(XElement)
ReDim Preserve typ12(UBound(typ12) + 1)
typ12(UBound(typ12)) = GetType(XElement).MakeArrayType()
Dim AddNodeArr As MethodBuilder = XmlUtils.DefineMethod("AddNodeArr", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ12)
Dim AddNodeArrIL As ILGenerator = AddNodeArr.GetILGenerator()
Dim AddNodeArrparam01 As ParameterBuilder = AddNodeArr.DefineParameter(1, ParameterAttributes.None, "el")
Dim AddNodeArrparam02 As ParameterBuilder = AddNodeArr.DefineParameter(2, ParameterAttributes.None, "nodes")
AddNodeArrIL.MarkSequencePoint(doc3, 66, 1, 66, 100)
Dim locbldr12 As LocalBuilder = AddNodeArrIL.DeclareLocal(GetType(Object))
locbldr12.SetLocalSymInfo("nodeobj")
AddNodeArrIL.MarkSequencePoint(doc3, 67, 1, 67, 100)
Dim locbldr13 As LocalBuilder = AddNodeArrIL.DeclareLocal(GetType(System.Int32))
locbldr13.SetLocalSymInfo("len")
AddNodeArrIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(XElement).MakeArrayType()
AddNodeArrIL.Emit(OpCodes.Ldlen)
AddNodeArrIL.Emit(OpCodes.Conv_I4)
Typ = GetType(System.Int32)
AddNodeArrIL.Emit(OpCodes.Stloc, 1)
AddNodeArrIL.MarkSequencePoint(doc3, 68, 1, 68, 100)
Dim locbldr14 As LocalBuilder = AddNodeArrIL.DeclareLocal(GetType(System.Int32))
locbldr14.SetLocalSymInfo("i")
AddNodeArrIL.Emit(OpCodes.Ldc_I4, -1)
Typ = GetType(System.Int32)
AddNodeArrIL.Emit(OpCodes.Stloc, 2)
AddNodeArrIL.MarkSequencePoint(doc3, 70, 1, 70, 100)
Dim label2 As System.Reflection.Emit.Label = AddNodeArrIL.DefineLabel()
AddNodeArrIL.MarkSequencePoint(doc3, 71, 1, 71, 100)
Dim label3 As System.Reflection.Emit.Label = AddNodeArrIL.DefineLabel()
AddNodeArrIL.MarkSequencePoint(doc3, 73, 1, 73, 100)
AddNodeArrIL.MarkLabel(label2)
AddNodeArrIL.MarkSequencePoint(doc3, 75, 1, 75, 100)
AddNodeArrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
AddNodeArrIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
AddNodeArrIL.Emit(OpCodes.Add)
AddNodeArrIL.Emit(OpCodes.Stloc, 2)
AddNodeArrIL.MarkSequencePoint(doc3, 77, 1, 77, 100)
AddNodeArrIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(XElement).MakeArrayType()
Typ02 = Typ
AddNodeArrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
AddNodeArrIL.Emit(OpCodes.Conv_U)
Typ = Typ02
AddNodeArrIL.Emit(OpCodes.Ldelem, GetType(XElement).MakeArrayType().GetElementType())
Typ = GetType(XElement).MakeArrayType().GetElementType()
AddNodeArrIL.Emit(OpCodes.Box,Typ)
Typ = GetType(System.Object)
AddNodeArrIL.Emit(OpCodes.Stloc, 0)
AddNodeArrIL.MarkSequencePoint(doc3, 78, 1, 78, 100)
Dim typ13(-1) As Type
AddNodeArrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
Typ03 = Typ
AddNodeArrIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(Object)
ReDim Preserve typ13(UBound(typ13) + 1)
typ13(UBound(typ13)) = Typ
AddNodeArrIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("Add", typ13))
Typ = Typ03.GetMethod("Add", typ13).ReturnType
If Typ.ToString() = GetType(System.Void).ToString() Then

Else
AddNodeArrIL.Emit(OpCodes.Pop)
End If
AddNodeArrIL.MarkSequencePoint(doc3, 80, 1, 80, 100)
AddNodeArrIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
AddNodeArrIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Int32)
Dim fa1 As System.Reflection.Emit.Label = AddNodeArrIL.DefineLabel()
Dim tru1 As System.Reflection.Emit.Label = AddNodeArrIL.DefineLabel()
Dim cont1 As System.Reflection.Emit.Label = AddNodeArrIL.DefineLabel()
AddNodeArrIL.Emit(OpCodes.Beq, tru1)
AddNodeArrIL.Emit(OpCodes.Br, fa1)
AddNodeArrIL.MarkLabel(tru1)
AddNodeArrIL.MarkSequencePoint(doc3, 81, 1, 81, 100)
AddNodeArrIL.Emit(OpCodes.Br, label3)
AddNodeArrIL.MarkSequencePoint(doc3, 82, 1, 82, 100)
AddNodeArrIL.Emit(OpCodes.Br, cont1)
AddNodeArrIL.MarkLabel(fa1)
AddNodeArrIL.MarkSequencePoint(doc3, 83, 1, 83, 100)
AddNodeArrIL.Emit(OpCodes.Br, label2)
AddNodeArrIL.MarkSequencePoint(doc3, 84, 1, 84, 100)
AddNodeArrIL.Emit(OpCodes.Br, cont1)
AddNodeArrIL.MarkLabel(cont1)
AddNodeArrIL.MarkSequencePoint(doc3, 86, 1, 86, 100)
AddNodeArrIL.MarkLabel(label3)
AddNodeArrIL.MarkSequencePoint(doc3, 88, 1, 88, 100)
AddNodeArrIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
AddNodeArrIL.MarkSequencePoint(doc3, 90, 1, 90, 100)
AddNodeArrIL.Emit(OpCodes.Ret)
Dim typ14(-1) As Type
ReDim Preserve typ14(UBound(typ14) + 1)
typ14(UBound(typ14)) = GetType(XElement)
ReDim Preserve typ14(UBound(typ14) + 1)
typ14(UBound(typ14)) = GetType(System.String)
Dim SetVal As MethodBuilder = XmlUtils.DefineMethod("SetVal", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ14)
Dim SetValIL As ILGenerator = SetVal.GetILGenerator()
Dim SetValparam01 As ParameterBuilder = SetVal.DefineParameter(1, ParameterAttributes.None, "el")
Dim SetValparam02 As ParameterBuilder = SetVal.DefineParameter(2, ParameterAttributes.None, "value")
SetValIL.MarkSequencePoint(doc3, 95, 1, 95, 100)
Dim typ15(-1) As Type
SetValIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
Typ03 = Typ
SetValIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
ReDim Preserve typ15(UBound(typ15) + 1)
typ15(UBound(typ15)) = Typ
SetValIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("set_Value", typ15))
Typ = Typ03.GetMethod("set_Value", typ15).ReturnType
If Typ.ToString() = GetType(System.Void).ToString() Then

Else
SetValIL.Emit(OpCodes.Pop)
End If
SetValIL.MarkSequencePoint(doc3, 96, 1, 96, 100)
SetValIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
SetValIL.MarkSequencePoint(doc3, 98, 1, 98, 100)
SetValIL.Emit(OpCodes.Ret)
Dim typ16(-1) As Type
ReDim Preserve typ16(UBound(typ16) + 1)
typ16(UBound(typ16)) = GetType(XElement)
Dim GetVal As MethodBuilder = XmlUtils.DefineMethod("GetVal", MethodAttributes.Public Or MethodAttributes.Static, GetType(System.String), typ16)
Dim GetValIL As ILGenerator = GetVal.GetILGenerator()
Dim GetValparam01 As ParameterBuilder = GetVal.DefineParameter(1, ParameterAttributes.None, "el")
GetValIL.MarkSequencePoint(doc3, 102, 1, 102, 100)
GetValIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
Typ03 = Typ
GetValIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("get_Value", Type.EmptyTypes))
Typ = Typ03.GetMethod("get_Value", Type.EmptyTypes).ReturnType
GetValIL.MarkSequencePoint(doc3, 104, 1, 104, 100)
GetValIL.Emit(OpCodes.Ret)
Dim typ18(-1) As Type
ReDim Preserve typ18(UBound(typ18) + 1)
typ18(UBound(typ18)) = GetType(XElement)
ReDim Preserve typ18(UBound(typ18) + 1)
typ18(UBound(typ18)) = GetType(System.String)
Dim XPathSelectEl As MethodBuilder = XmlUtils.DefineMethod("XPathSelectEl", MethodAttributes.Public Or MethodAttributes.Static, GetType(XElement), typ18)
Dim XPathSelectElIL As ILGenerator = XPathSelectEl.GetILGenerator()
Dim XPathSelectElparam01 As ParameterBuilder = XPathSelectEl.DefineParameter(1, ParameterAttributes.None, "el")
Dim XPathSelectElparam02 As ParameterBuilder = XPathSelectEl.DefineParameter(2, ParameterAttributes.None, "XPathQuery")
XPathSelectElIL.MarkSequencePoint(doc3, 108, 1, 108, 100)
Dim locbldr15 As LocalBuilder = XPathSelectElIL.DeclareLocal(GetType(XElement))
locbldr15.SetLocalSymInfo("tempel")
XPathSelectElIL.MarkSequencePoint(doc3, 109, 1, 109, 100)
Dim typ19(-1) As Type
XPathSelectElIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(XElement)
ReDim Preserve typ19(UBound(typ19) + 1)
typ19(UBound(typ19)) = Typ
XPathSelectElIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
ReDim Preserve typ19(UBound(typ19) + 1)
typ19(UBound(typ19)) = Typ
XPathSelectElIL.Emit(OpCodes.Call, GetType(XPath.Extensions).GetMethod("XPathSelectElement", typ19))
Typ = GetType(XPath.Extensions).GetMethod("XPathSelectElement", typ19).ReturnType
XPathSelectElIL.Emit(OpCodes.Stloc, 0)
XPathSelectElIL.MarkSequencePoint(doc3, 111, 1, 111, 100)
XPathSelectElIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(XElement)
XPathSelectElIL.MarkSequencePoint(doc3, 113, 1, 113, 100)
XPathSelectElIL.Emit(OpCodes.Ret)
XmlUtils.CreateType()
End Sub


Dim doc4 As ISymbolDocumentWriter

Sub ParseUtils()
Dim ParseUtils As TypeBuilder = mdl.DefineType("dnu" & "." & "ParseUtils", TypeAttributes.Public Or TypeAttributes.AutoClass Or TypeAttributes.AnsiClass, GetType(System.Object))
Dim typ0(-1) As Type
ReDim Preserve typ0(UBound(typ0) + 1)
typ0(UBound(typ0)) = GetType(System.String).MakeArrayType()
ReDim Preserve typ0(UBound(typ0) + 1)
typ0(UBound(typ0)) = GetType(System.String)
Dim addelem As MethodBuilder = ParseUtils.DefineMethod("addelem", MethodAttributes.Private Or MethodAttributes.Static, GetType(System.String).MakeArrayType(), typ0)
Dim addelemIL As ILGenerator = addelem.GetILGenerator()
Dim addelemparam01 As ParameterBuilder = addelem.DefineParameter(1, ParameterAttributes.None, "srcarr")
Dim addelemparam02 As ParameterBuilder = addelem.DefineParameter(2, ParameterAttributes.None, "eltoadd")
addelemIL.MarkSequencePoint(doc4, 15, 1, 15, 100)
Dim locbldr16 As LocalBuilder = addelemIL.DeclareLocal(GetType(System.Int32))
locbldr16.SetLocalSymInfo("len")
addelemIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String).MakeArrayType()
addelemIL.Emit(OpCodes.Ldlen)
addelemIL.Emit(OpCodes.Conv_I4)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Stloc, 0)
addelemIL.MarkSequencePoint(doc4, 16, 1, 16, 100)
Dim locbldr17 As LocalBuilder = addelemIL.DeclareLocal(GetType(System.Int32))
locbldr17.SetLocalSymInfo("destl")
addelemIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Add)
addelemIL.Emit(OpCodes.Stloc, 1)
addelemIL.MarkSequencePoint(doc4, 17, 1, 17, 100)
Dim locbldr18 As LocalBuilder = addelemIL.DeclareLocal(GetType(System.Int32))
locbldr18.SetLocalSymInfo("stopel")
addelemIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Sub)
addelemIL.Emit(OpCodes.Stloc, 2)
addelemIL.MarkSequencePoint(doc4, 18, 1, 18, 100)
Dim locbldr19 As LocalBuilder = addelemIL.DeclareLocal(GetType(System.Int32))
locbldr19.SetLocalSymInfo("i")
addelemIL.Emit(OpCodes.Ldc_I4, -1)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Stloc, 3)
addelemIL.MarkSequencePoint(doc4, 20, 1, 20, 100)
Dim locbldr20 As LocalBuilder = addelemIL.DeclareLocal(GetType(System.String).MakeArrayType())
locbldr20.SetLocalSymInfo("destarr")
addelemIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Conv_U)
addelemIL.Emit(OpCodes.Newarr, GetType(System.String))
addelemIL.Emit(OpCodes.Stloc, 4)
addelemIL.MarkSequencePoint(doc4, 22, 1, 22, 100)
Dim label0 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
addelemIL.MarkSequencePoint(doc4, 23, 1, 23, 100)
Dim label1 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
addelemIL.MarkSequencePoint(doc4, 25, 1, 25, 100)
addelemIL.MarkLabel(label0)
addelemIL.MarkSequencePoint(doc4, 27, 1, 27, 100)
addelemIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Add)
addelemIL.Emit(OpCodes.Stloc, 3)
addelemIL.MarkSequencePoint(doc4, 29, 1, 29, 100)
addelemIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa2 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
Dim tru2 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
Dim cont2 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
addelemIL.Emit(OpCodes.Bgt, tru2)
addelemIL.Emit(OpCodes.Br, fa2)
addelemIL.MarkLabel(tru2)
addelemIL.MarkSequencePoint(doc4, 31, 1, 31, 100)
addelemIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.String).MakeArrayType()
Typ02 = Typ
addelemIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Conv_U)
Typ = Typ02
addelemIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String).MakeArrayType()
Typ02 = Typ
addelemIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Conv_U)
Typ = Typ02
addelemIL.Emit(OpCodes.Ldelem, GetType(System.String).MakeArrayType().GetElementType())
Typ = GetType(System.String).MakeArrayType().GetElementType()
addelemIL.Emit(OpCodes.Stelem, GetType(System.String).MakeArrayType().GetElementType())
addelemIL.MarkSequencePoint(doc4, 33, 1, 33, 100)
addelemIL.Emit(OpCodes.Br, cont2)
addelemIL.MarkLabel(fa2)
addelemIL.Emit(OpCodes.Br, cont2)
addelemIL.MarkLabel(cont2)
addelemIL.MarkSequencePoint(doc4, 35, 1, 35, 100)
addelemIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
Dim fa3 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
Dim tru3 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
Dim cont3 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
addelemIL.Emit(OpCodes.Beq, tru3)
addelemIL.Emit(OpCodes.Br, fa3)
addelemIL.MarkLabel(tru3)
addelemIL.MarkSequencePoint(doc4, 36, 1, 36, 100)
addelemIL.Emit(OpCodes.Br, label1)
addelemIL.MarkSequencePoint(doc4, 37, 1, 37, 100)
addelemIL.Emit(OpCodes.Br, cont3)
addelemIL.MarkLabel(fa3)
addelemIL.MarkSequencePoint(doc4, 38, 1, 38, 100)
addelemIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Ldc_I4, -1)
Typ = GetType(System.Int32)
Dim fa4 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
Dim tru4 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
Dim cont4 As System.Reflection.Emit.Label = addelemIL.DefineLabel()
addelemIL.Emit(OpCodes.Beq, fa4)
addelemIL.Emit(OpCodes.Br, tru4)
addelemIL.MarkLabel(tru4)
addelemIL.MarkSequencePoint(doc4, 39, 1, 39, 100)
addelemIL.Emit(OpCodes.Br, label0)
addelemIL.MarkSequencePoint(doc4, 40, 1, 40, 100)
addelemIL.Emit(OpCodes.Br, cont4)
addelemIL.MarkLabel(fa4)
addelemIL.MarkSequencePoint(doc4, 41, 1, 41, 100)
addelemIL.Emit(OpCodes.Br, label1)
addelemIL.MarkSequencePoint(doc4, 42, 1, 42, 100)
addelemIL.Emit(OpCodes.Br, cont4)
addelemIL.MarkLabel(cont4)
addelemIL.MarkSequencePoint(doc4, 43, 1, 43, 100)
addelemIL.Emit(OpCodes.Br, cont3)
addelemIL.MarkLabel(cont3)
addelemIL.MarkSequencePoint(doc4, 45, 1, 45, 100)
addelemIL.MarkLabel(label1)
addelemIL.MarkSequencePoint(doc4, 47, 1, 47, 100)
addelemIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.String).MakeArrayType()
Typ02 = Typ
addelemIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.Int32)
addelemIL.Emit(OpCodes.Conv_U)
Typ = Typ02
addelemIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
addelemIL.Emit(OpCodes.Stelem, GetType(System.String).MakeArrayType().GetElementType())
addelemIL.MarkSequencePoint(doc4, 49, 1, 49, 100)
addelemIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.String).MakeArrayType()
addelemIL.MarkSequencePoint(doc4, 51, 1, 51, 100)
addelemIL.Emit(OpCodes.Ret)
Dim typ1(-1) As Type
ReDim Preserve typ1(UBound(typ1) + 1)
typ1(UBound(typ1)) = GetType(System.String)
ReDim Preserve typ1(UBound(typ1) + 1)
typ1(UBound(typ1)) = GetType(System.String)
Dim StringParser As MethodBuilder = ParseUtils.DefineMethod("StringParser", MethodAttributes.Public Or MethodAttributes.Static, GetType(System.String).MakeArrayType(), typ1)
Dim StringParserIL As ILGenerator = StringParser.GetILGenerator()
Dim StringParserparam01 As ParameterBuilder = StringParser.DefineParameter(1, ParameterAttributes.None, "StringToParse")
Dim StringParserparam02 As ParameterBuilder = StringParser.DefineParameter(2, ParameterAttributes.None, "DelimeterChar")
StringParserIL.MarkSequencePoint(doc4, 54, 1, 54, 100)
Dim locbldr21 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.String).MakeArrayType())
locbldr21.SetLocalSymInfo("arr")
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Conv_U)
StringParserIL.Emit(OpCodes.Newarr, GetType(System.String))
StringParserIL.Emit(OpCodes.Stloc, 0)
StringParserIL.MarkSequencePoint(doc4, 56, 1, 56, 100)
Dim locbldr22 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.Boolean))
locbldr22.SetLocalSymInfo("ins")
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ2 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ2))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ2).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 1)
StringParserIL.MarkSequencePoint(doc4, 57, 1, 57, 100)
Dim locbldr23 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.String))
locbldr23.SetLocalSymInfo("ch")
StringParserIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParserIL.Emit(OpCodes.Stloc, 2)
StringParserIL.MarkSequencePoint(doc4, 58, 1, 58, 100)
Dim locbldr24 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.String))
locbldr24.SetLocalSymInfo("acc")
StringParserIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParserIL.Emit(OpCodes.Stloc, 3)
StringParserIL.MarkSequencePoint(doc4, 59, 1, 59, 100)
Dim locbldr25 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.Int32))
locbldr25.SetLocalSymInfo("i")
StringParserIL.Emit(OpCodes.Ldc_I4, -1)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Stloc, 4)
StringParserIL.MarkSequencePoint(doc4, 60, 1, 60, 100)
Dim locbldr26 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.Int32))
locbldr26.SetLocalSymInfo("len")
StringParserIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
Typ03 = Typ
StringParserIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("get_Length", Type.EmptyTypes))
Typ = Typ03.GetMethod("get_Length", Type.EmptyTypes).ReturnType
StringParserIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Sub)
StringParserIL.Emit(OpCodes.Stloc, 5)
StringParserIL.MarkSequencePoint(doc4, 62, 1, 62, 100)
Dim label2 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.MarkSequencePoint(doc4, 63, 1, 63, 100)
Dim label3 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.MarkSequencePoint(doc4, 65, 1, 65, 100)
StringParserIL.MarkLabel(label3)
StringParserIL.MarkSequencePoint(doc4, 67, 1, 67, 100)
StringParserIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Add)
StringParserIL.Emit(OpCodes.Stloc, 4)
StringParserIL.MarkSequencePoint(doc4, 69, 1, 69, 100)
Dim typ4(-1) As Type
StringParserIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
Typ03 = Typ
StringParserIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
ReDim Preserve typ4(UBound(typ4) + 1)
typ4(UBound(typ4)) = Typ
StringParserIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("get_Chars", typ4))
Typ = Typ03.GetMethod("get_Chars", typ4).ReturnType
Dim typ5 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToString", typ5))
Typ = GetType(System.Convert).GetMethod("ToString", typ5).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 2)
StringParserIL.MarkSequencePoint(doc4, 71, 1, 71, 100)
Dim locbldr27 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.String))
locbldr27.SetLocalSymInfo("ic")
StringParserIL.Emit(OpCodes.Ldsfld, asm.GetType("dnu.Constants").GetField("quot"))
Typ = asm.GetType("dnu.Constants").GetField("quot").FieldType
StringParserIL.Emit(OpCodes.Stloc, 6)
StringParserIL.MarkSequencePoint(doc4, 73, 1, 73, 100)
Dim locbldr28 As LocalBuilder = StringParserIL.DeclareLocal(GetType(System.Int32))
locbldr28.SetLocalSymInfo("comp")
Dim typ6(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ6(UBound(typ6) + 1)
typ6(UBound(typ6)) = Typ
StringParserIL.Emit(OpCodes.Ldloc, 6)
Typ = GetType(System.String)
ReDim Preserve typ6(UBound(typ6) + 1)
typ6(UBound(typ6)) = Typ
StringParserIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ6))
Typ = GetType(String).GetMethod("Compare", typ6).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 7)
StringParserIL.MarkSequencePoint(doc4, 75, 1, 75, 100)
StringParserIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa5 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru5 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont5 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru5)
StringParserIL.Emit(OpCodes.Br, fa5)
StringParserIL.MarkLabel(tru5)
StringParserIL.MarkSequencePoint(doc4, 77, 1, 77, 100)
Dim label4 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.MarkSequencePoint(doc4, 79, 1, 79, 100)
StringParserIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ7 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ7))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ7).ReturnType
Dim fa6 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru6 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont6 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru6)
StringParserIL.Emit(OpCodes.Br, fa6)
StringParserIL.MarkLabel(tru6)
StringParserIL.MarkSequencePoint(doc4, 80, 1, 80, 100)
StringParserIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ8 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ8))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ8).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 1)
StringParserIL.MarkSequencePoint(doc4, 81, 1, 81, 100)
StringParserIL.Emit(OpCodes.Br, label4)
StringParserIL.MarkSequencePoint(doc4, 82, 1, 82, 100)
StringParserIL.Emit(OpCodes.Br, cont6)
StringParserIL.MarkLabel(fa6)
StringParserIL.Emit(OpCodes.Br, cont6)
StringParserIL.MarkLabel(cont6)
StringParserIL.MarkSequencePoint(doc4, 83, 1, 83, 100)
StringParserIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParserIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ9 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ9))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ9).ReturnType
Dim fa7 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru7 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont7 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru7)
StringParserIL.Emit(OpCodes.Br, fa7)
StringParserIL.MarkLabel(tru7)
StringParserIL.MarkSequencePoint(doc4, 84, 1, 84, 100)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ10 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ10))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ10).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 1)
StringParserIL.MarkSequencePoint(doc4, 85, 1, 85, 100)
StringParserIL.Emit(OpCodes.Br, label4)
StringParserIL.MarkSequencePoint(doc4, 86, 1, 86, 100)
StringParserIL.Emit(OpCodes.Br, cont7)
StringParserIL.MarkLabel(fa7)
StringParserIL.Emit(OpCodes.Br, cont7)
StringParserIL.MarkLabel(cont7)
StringParserIL.MarkSequencePoint(doc4, 88, 1, 88, 100)
StringParserIL.MarkLabel(label4)
StringParserIL.MarkSequencePoint(doc4, 90, 1, 90, 100)
StringParserIL.Emit(OpCodes.Br, cont5)
StringParserIL.MarkLabel(fa5)
StringParserIL.Emit(OpCodes.Br, cont5)
StringParserIL.MarkLabel(cont5)
StringParserIL.MarkSequencePoint(doc4, 92, 1, 92, 100)
Dim typ11(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ11(UBound(typ11) + 1)
typ11(UBound(typ11)) = Typ
StringParserIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
ReDim Preserve typ11(UBound(typ11) + 1)
typ11(UBound(typ11)) = Typ
StringParserIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ11))
Typ = GetType(String).GetMethod("Compare", typ11).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 7)
StringParserIL.MarkSequencePoint(doc4, 94, 1, 94, 100)
StringParserIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa8 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru8 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont8 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru8)
StringParserIL.Emit(OpCodes.Br, fa8)
StringParserIL.MarkLabel(tru8)
StringParserIL.MarkSequencePoint(doc4, 95, 1, 95, 100)
StringParserIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ12 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ12))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ12).ReturnType
Dim fa9 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru9 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont9 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru9)
StringParserIL.Emit(OpCodes.Br, fa9)
StringParserIL.MarkLabel(tru9)
StringParserIL.MarkSequencePoint(doc4, 97, 1, 97, 100)
Dim typ13(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ13(UBound(typ13) + 1)
typ13(UBound(typ13)) = Typ
StringParserIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
ReDim Preserve typ13(UBound(typ13) + 1)
typ13(UBound(typ13)) = Typ
StringParserIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ13))
Typ = GetType(String).GetMethod("Compare", typ13).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 7)
StringParserIL.MarkSequencePoint(doc4, 99, 1, 99, 100)
StringParserIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa10 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru10 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont10 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, fa10)
StringParserIL.Emit(OpCodes.Br, tru10)
StringParserIL.MarkLabel(tru10)
StringParserIL.MarkSequencePoint(doc4, 100, 1, 100, 100)
Dim typ14(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.String).MakeArrayType()
ReDim Preserve typ14(UBound(typ14) + 1)
typ14(UBound(typ14)) = Typ
StringParserIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ14(UBound(typ14) + 1)
typ14(UBound(typ14)) = Typ
StringParserIL.Emit(OpCodes.Call, addelem)
Typ = addelem.ReturnType
StringParserIL.Emit(OpCodes.Stloc, 0)
StringParserIL.MarkSequencePoint(doc4, 101, 1, 101, 100)
StringParserIL.Emit(OpCodes.Br, cont10)
StringParserIL.MarkLabel(fa10)
StringParserIL.Emit(OpCodes.Br, cont10)
StringParserIL.MarkLabel(cont10)
StringParserIL.MarkSequencePoint(doc4, 102, 1, 102, 100)
StringParserIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParserIL.Emit(OpCodes.Stloc, 3)
StringParserIL.MarkSequencePoint(doc4, 103, 1, 103, 100)
StringParserIL.Emit(OpCodes.Br, cont9)
StringParserIL.MarkLabel(fa9)
StringParserIL.Emit(OpCodes.Br, cont9)
StringParserIL.MarkLabel(cont9)
StringParserIL.MarkSequencePoint(doc4, 104, 1, 104, 100)
StringParserIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParserIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ15 As Type() = {Typ}
StringParserIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ15))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ15).ReturnType
Dim fa11 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru11 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont11 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru11)
StringParserIL.Emit(OpCodes.Br, fa11)
StringParserIL.MarkLabel(tru11)
StringParserIL.MarkSequencePoint(doc4, 105, 1, 105, 100)
Dim typ16(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ16(UBound(typ16) + 1)
typ16(UBound(typ16)) = Typ
StringParserIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ16(UBound(typ16) + 1)
typ16(UBound(typ16)) = Typ
StringParserIL.Emit(OpCodes.Call, GetType(String).GetMethod("Concat", typ16))
Typ = GetType(String).GetMethod("Concat", typ16).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 3)
StringParserIL.MarkSequencePoint(doc4, 106, 1, 106, 100)
StringParserIL.Emit(OpCodes.Br, cont11)
StringParserIL.MarkLabel(fa11)
StringParserIL.Emit(OpCodes.Br, cont11)
StringParserIL.MarkLabel(cont11)
StringParserIL.MarkSequencePoint(doc4, 107, 1, 107, 100)
StringParserIL.Emit(OpCodes.Br, cont8)
StringParserIL.MarkLabel(fa8)
StringParserIL.MarkSequencePoint(doc4, 108, 1, 108, 100)
Dim typ17(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ17(UBound(typ17) + 1)
typ17(UBound(typ17)) = Typ
StringParserIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ17(UBound(typ17) + 1)
typ17(UBound(typ17)) = Typ
StringParserIL.Emit(OpCodes.Call, GetType(String).GetMethod("Concat", typ17))
Typ = GetType(String).GetMethod("Concat", typ17).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 3)
StringParserIL.MarkSequencePoint(doc4, 109, 1, 109, 100)
StringParserIL.Emit(OpCodes.Br, cont8)
StringParserIL.MarkLabel(cont8)
StringParserIL.MarkSequencePoint(doc4, 111, 1, 111, 100)
Dim typ18(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ18(UBound(typ18) + 1)
typ18(UBound(typ18)) = Typ
StringParserIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
ReDim Preserve typ18(UBound(typ18) + 1)
typ18(UBound(typ18)) = Typ
StringParserIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ18))
Typ = GetType(String).GetMethod("Compare", typ18).ReturnType
StringParserIL.Emit(OpCodes.Stloc, 7)
StringParserIL.MarkSequencePoint(doc4, 113, 1, 113, 100)
StringParserIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldloc, 5)
Typ = GetType(System.Int32)
Dim fa12 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru12 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont12 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru12)
StringParserIL.Emit(OpCodes.Br, fa12)
StringParserIL.MarkLabel(tru12)
StringParserIL.MarkSequencePoint(doc4, 114, 1, 114, 100)
StringParserIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa13 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru13 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont13 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, fa13)
StringParserIL.Emit(OpCodes.Br, tru13)
StringParserIL.MarkLabel(tru13)
StringParserIL.MarkSequencePoint(doc4, 115, 1, 115, 100)
Dim typ19(-1) As Type
StringParserIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.String).MakeArrayType()
ReDim Preserve typ19(UBound(typ19) + 1)
typ19(UBound(typ19)) = Typ
StringParserIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ19(UBound(typ19) + 1)
typ19(UBound(typ19)) = Typ
StringParserIL.Emit(OpCodes.Call, addelem)
Typ = addelem.ReturnType
StringParserIL.Emit(OpCodes.Stloc, 0)
StringParserIL.MarkSequencePoint(doc4, 116, 1, 116, 100)
StringParserIL.Emit(OpCodes.Br, cont13)
StringParserIL.MarkLabel(fa13)
StringParserIL.Emit(OpCodes.Br, cont13)
StringParserIL.MarkLabel(cont13)
StringParserIL.MarkSequencePoint(doc4, 117, 1, 117, 100)
StringParserIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParserIL.Emit(OpCodes.Stloc, 3)
StringParserIL.MarkSequencePoint(doc4, 118, 1, 118, 100)
StringParserIL.Emit(OpCodes.Br, cont12)
StringParserIL.MarkLabel(fa12)
StringParserIL.Emit(OpCodes.Br, cont12)
StringParserIL.MarkLabel(cont12)
StringParserIL.MarkSequencePoint(doc4, 120, 1, 120, 100)
StringParserIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
StringParserIL.Emit(OpCodes.Ldloc, 5)
Typ = GetType(System.Int32)
Dim fa14 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim tru14 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
Dim cont14 As System.Reflection.Emit.Label = StringParserIL.DefineLabel()
StringParserIL.Emit(OpCodes.Beq, tru14)
StringParserIL.Emit(OpCodes.Br, fa14)
StringParserIL.MarkLabel(tru14)
StringParserIL.MarkSequencePoint(doc4, 121, 1, 121, 100)
StringParserIL.Emit(OpCodes.Br, label2)
StringParserIL.MarkSequencePoint(doc4, 122, 1, 122, 100)
StringParserIL.Emit(OpCodes.Br, cont14)
StringParserIL.MarkLabel(fa14)
StringParserIL.MarkSequencePoint(doc4, 123, 1, 123, 100)
StringParserIL.Emit(OpCodes.Br, label3)
StringParserIL.MarkSequencePoint(doc4, 124, 1, 124, 100)
StringParserIL.Emit(OpCodes.Br, cont14)
StringParserIL.MarkLabel(cont14)
StringParserIL.MarkSequencePoint(doc4, 126, 1, 126, 100)
StringParserIL.MarkLabel(label2)
StringParserIL.MarkSequencePoint(doc4, 128, 1, 128, 100)
StringParserIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.String).MakeArrayType()
StringParserIL.MarkSequencePoint(doc4, 129, 1, 129, 100)
StringParserIL.Emit(OpCodes.Ret)
Dim typ20(-1) As Type
ReDim Preserve typ20(UBound(typ20) + 1)
typ20(UBound(typ20)) = GetType(System.String)
ReDim Preserve typ20(UBound(typ20) + 1)
typ20(UBound(typ20)) = GetType(System.String)
ReDim Preserve typ20(UBound(typ20) + 1)
typ20(UBound(typ20)) = GetType(System.String)
Dim StringParser2ds As MethodBuilder = ParseUtils.DefineMethod("StringParser2ds", MethodAttributes.Public Or MethodAttributes.Static, GetType(System.String).MakeArrayType(), typ20)
Dim StringParser2dsIL As ILGenerator = StringParser2ds.GetILGenerator()
Dim StringParser2dsparam01 As ParameterBuilder = StringParser2ds.DefineParameter(1, ParameterAttributes.None, "StringToParse")
Dim StringParser2dsparam02 As ParameterBuilder = StringParser2ds.DefineParameter(2, ParameterAttributes.None, "DelimeterChar")
Dim StringParser2dsparam03 As ParameterBuilder = StringParser2ds.DefineParameter(3, ParameterAttributes.None, "DelimeterChar2")
StringParser2dsIL.MarkSequencePoint(doc4, 133, 1, 133, 100)
Dim locbldr29 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.String).MakeArrayType())
locbldr29.SetLocalSymInfo("arr")
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Conv_U)
StringParser2dsIL.Emit(OpCodes.Newarr, GetType(System.String))
StringParser2dsIL.Emit(OpCodes.Stloc, 0)
StringParser2dsIL.MarkSequencePoint(doc4, 135, 1, 135, 100)
Dim locbldr30 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.Boolean))
locbldr30.SetLocalSymInfo("ins")
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ21 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ21))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ21).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 1)
StringParser2dsIL.MarkSequencePoint(doc4, 136, 1, 136, 100)
Dim locbldr31 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.String))
locbldr31.SetLocalSymInfo("ch")
StringParser2dsIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParser2dsIL.Emit(OpCodes.Stloc, 2)
StringParser2dsIL.MarkSequencePoint(doc4, 137, 1, 137, 100)
Dim locbldr32 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.String))
locbldr32.SetLocalSymInfo("acc")
StringParser2dsIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParser2dsIL.Emit(OpCodes.Stloc, 3)
StringParser2dsIL.MarkSequencePoint(doc4, 138, 1, 138, 100)
Dim locbldr33 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.Int32))
locbldr33.SetLocalSymInfo("i")
StringParser2dsIL.Emit(OpCodes.Ldc_I4, -1)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Stloc, 4)
StringParser2dsIL.MarkSequencePoint(doc4, 139, 1, 139, 100)
Dim locbldr34 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.Int32))
locbldr34.SetLocalSymInfo("len")
StringParser2dsIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
Typ03 = Typ
StringParser2dsIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("get_Length", Type.EmptyTypes))
Typ = Typ03.GetMethod("get_Length", Type.EmptyTypes).ReturnType
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Sub)
StringParser2dsIL.Emit(OpCodes.Stloc, 5)
StringParser2dsIL.MarkSequencePoint(doc4, 141, 1, 141, 100)
Dim label5 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.MarkSequencePoint(doc4, 142, 1, 142, 100)
Dim label6 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.MarkSequencePoint(doc4, 144, 1, 144, 100)
StringParser2dsIL.MarkLabel(label6)
StringParser2dsIL.MarkSequencePoint(doc4, 146, 1, 146, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Add)
StringParser2dsIL.Emit(OpCodes.Stloc, 4)
StringParser2dsIL.MarkSequencePoint(doc4, 148, 1, 148, 100)
Dim typ23(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
Typ03 = Typ
StringParser2dsIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
ReDim Preserve typ23(UBound(typ23) + 1)
typ23(UBound(typ23)) = Typ
StringParser2dsIL.Emit(OpCodes.Callvirt, Typ03.GetMethod("get_Chars", typ23))
Typ = Typ03.GetMethod("get_Chars", typ23).ReturnType
Dim typ24 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToString", typ24))
Typ = GetType(System.Convert).GetMethod("ToString", typ24).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 2)
StringParser2dsIL.MarkSequencePoint(doc4, 150, 1, 150, 100)
Dim locbldr35 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.String))
locbldr35.SetLocalSymInfo("ic")
StringParser2dsIL.Emit(OpCodes.Ldsfld, asm.GetType("dnu.Constants").GetField("quot"))
Typ = asm.GetType("dnu.Constants").GetField("quot").FieldType
StringParser2dsIL.Emit(OpCodes.Stloc, 6)
StringParser2dsIL.MarkSequencePoint(doc4, 152, 1, 152, 100)
Dim locbldr36 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.Int32))
locbldr36.SetLocalSymInfo("comp")
Dim typ25(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ25(UBound(typ25) + 1)
typ25(UBound(typ25)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldloc, 6)
Typ = GetType(System.String)
ReDim Preserve typ25(UBound(typ25) + 1)
typ25(UBound(typ25)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ25))
Typ = GetType(String).GetMethod("Compare", typ25).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 7)
StringParser2dsIL.MarkSequencePoint(doc4, 153, 1, 153, 100)
Dim locbldr37 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.Int32))
locbldr37.SetLocalSymInfo("comp2")
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Stloc, 8)
StringParser2dsIL.MarkSequencePoint(doc4, 155, 1, 155, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa15 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru15 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont15 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru15)
StringParser2dsIL.Emit(OpCodes.Br, fa15)
StringParser2dsIL.MarkLabel(tru15)
StringParser2dsIL.MarkSequencePoint(doc4, 157, 1, 157, 100)
Dim label7 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.MarkSequencePoint(doc4, 159, 1, 159, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ26 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ26))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ26).ReturnType
Dim fa16 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru16 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont16 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru16)
StringParser2dsIL.Emit(OpCodes.Br, fa16)
StringParser2dsIL.MarkLabel(tru16)
StringParser2dsIL.MarkSequencePoint(doc4, 160, 1, 160, 100)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ27 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ27))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ27).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 1)
StringParser2dsIL.MarkSequencePoint(doc4, 161, 1, 161, 100)
StringParser2dsIL.Emit(OpCodes.Br, label7)
StringParser2dsIL.MarkSequencePoint(doc4, 162, 1, 162, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont16)
StringParser2dsIL.MarkLabel(fa16)
StringParser2dsIL.Emit(OpCodes.Br, cont16)
StringParser2dsIL.MarkLabel(cont16)
StringParser2dsIL.MarkSequencePoint(doc4, 163, 1, 163, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ28 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ28))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ28).ReturnType
Dim fa17 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru17 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont17 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru17)
StringParser2dsIL.Emit(OpCodes.Br, fa17)
StringParser2dsIL.MarkLabel(tru17)
StringParser2dsIL.MarkSequencePoint(doc4, 164, 1, 164, 100)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ29 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ29))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ29).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 1)
StringParser2dsIL.MarkSequencePoint(doc4, 165, 1, 165, 100)
StringParser2dsIL.Emit(OpCodes.Br, label7)
StringParser2dsIL.MarkSequencePoint(doc4, 166, 1, 166, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont17)
StringParser2dsIL.MarkLabel(fa17)
StringParser2dsIL.Emit(OpCodes.Br, cont17)
StringParser2dsIL.MarkLabel(cont17)
StringParser2dsIL.MarkSequencePoint(doc4, 168, 1, 168, 100)
StringParser2dsIL.MarkLabel(label7)
StringParser2dsIL.MarkSequencePoint(doc4, 170, 1, 170, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont15)
StringParser2dsIL.MarkLabel(fa15)
StringParser2dsIL.Emit(OpCodes.Br, cont15)
StringParser2dsIL.MarkLabel(cont15)
StringParser2dsIL.MarkSequencePoint(doc4, 172, 1, 172, 100)
Dim locbldr38 As LocalBuilder = StringParser2dsIL.DeclareLocal(GetType(System.Int32))
locbldr38.SetLocalSymInfo("comps")
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Stloc, 9)
StringParser2dsIL.MarkSequencePoint(doc4, 174, 1, 174, 100)
Dim typ30(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ30(UBound(typ30) + 1)
typ30(UBound(typ30)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
ReDim Preserve typ30(UBound(typ30) + 1)
typ30(UBound(typ30)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ30))
Typ = GetType(String).GetMethod("Compare", typ30).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 7)
StringParser2dsIL.MarkSequencePoint(doc4, 175, 1, 175, 100)
Dim typ31(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ31(UBound(typ31) + 1)
typ31(UBound(typ31)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldarg, 2)
Typ = GetType(System.String)
ReDim Preserve typ31(UBound(typ31) + 1)
typ31(UBound(typ31)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ31))
Typ = GetType(String).GetMethod("Compare", typ31).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 8)
StringParser2dsIL.MarkSequencePoint(doc4, 177, 1, 177, 100)
Dim label8 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.MarkSequencePoint(doc4, 179, 1, 179, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa18 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru18 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont18 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru18)
StringParser2dsIL.Emit(OpCodes.Br, fa18)
StringParser2dsIL.MarkLabel(tru18)
StringParser2dsIL.MarkSequencePoint(doc4, 180, 1, 180, 100)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Stloc, 9)
StringParser2dsIL.MarkSequencePoint(doc4, 181, 1, 181, 100)
StringParser2dsIL.Emit(OpCodes.Br, label8)
StringParser2dsIL.MarkSequencePoint(doc4, 182, 1, 182, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont18)
StringParser2dsIL.MarkLabel(fa18)
StringParser2dsIL.Emit(OpCodes.Br, cont18)
StringParser2dsIL.MarkLabel(cont18)
StringParser2dsIL.MarkSequencePoint(doc4, 184, 1, 184, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 8)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa19 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru19 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont19 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru19)
StringParser2dsIL.Emit(OpCodes.Br, fa19)
StringParser2dsIL.MarkLabel(tru19)
StringParser2dsIL.MarkSequencePoint(doc4, 185, 1, 185, 100)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Stloc, 9)
StringParser2dsIL.MarkSequencePoint(doc4, 186, 1, 186, 100)
StringParser2dsIL.Emit(OpCodes.Br, label8)
StringParser2dsIL.MarkSequencePoint(doc4, 187, 1, 187, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont19)
StringParser2dsIL.MarkLabel(fa19)
StringParser2dsIL.Emit(OpCodes.Br, cont19)
StringParser2dsIL.MarkLabel(cont19)
StringParser2dsIL.MarkSequencePoint(doc4, 189, 1, 189, 100)
StringParser2dsIL.MarkLabel(label8)
StringParser2dsIL.MarkSequencePoint(doc4, 191, 1, 191, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 9)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa20 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru20 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont20 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru20)
StringParser2dsIL.Emit(OpCodes.Br, fa20)
StringParser2dsIL.MarkLabel(tru20)
StringParser2dsIL.MarkSequencePoint(doc4, 192, 1, 192, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim typ32 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ32))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ32).ReturnType
Dim fa21 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru21 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont21 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru21)
StringParser2dsIL.Emit(OpCodes.Br, fa21)
StringParser2dsIL.MarkLabel(tru21)
StringParser2dsIL.MarkSequencePoint(doc4, 194, 1, 194, 100)
Dim typ33(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ33(UBound(typ33) + 1)
typ33(UBound(typ33)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
ReDim Preserve typ33(UBound(typ33) + 1)
typ33(UBound(typ33)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ33))
Typ = GetType(String).GetMethod("Compare", typ33).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 7)
StringParser2dsIL.MarkSequencePoint(doc4, 196, 1, 196, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa22 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru22 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont22 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, fa22)
StringParser2dsIL.Emit(OpCodes.Br, tru22)
StringParser2dsIL.MarkLabel(tru22)
StringParser2dsIL.MarkSequencePoint(doc4, 197, 1, 197, 100)
Dim typ34(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.String).MakeArrayType()
ReDim Preserve typ34(UBound(typ34) + 1)
typ34(UBound(typ34)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ34(UBound(typ34) + 1)
typ34(UBound(typ34)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, addelem)
Typ = addelem.ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 0)
StringParser2dsIL.MarkSequencePoint(doc4, 198, 1, 198, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont22)
StringParser2dsIL.MarkLabel(fa22)
StringParser2dsIL.Emit(OpCodes.Br, cont22)
StringParser2dsIL.MarkLabel(cont22)
StringParser2dsIL.MarkSequencePoint(doc4, 199, 1, 199, 100)
StringParser2dsIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParser2dsIL.Emit(OpCodes.Stloc, 3)
StringParser2dsIL.MarkSequencePoint(doc4, 200, 1, 200, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont21)
StringParser2dsIL.MarkLabel(fa21)
StringParser2dsIL.Emit(OpCodes.Br, cont21)
StringParser2dsIL.MarkLabel(cont21)
StringParser2dsIL.MarkSequencePoint(doc4, 201, 1, 201, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 1)
Typ = GetType(System.Int32)
Dim typ35 As Type() = {Typ}
StringParser2dsIL.Emit(OpCodes.Call, GetType(System.Convert).GetMethod("ToBoolean", typ35))
Typ = GetType(System.Convert).GetMethod("ToBoolean", typ35).ReturnType
Dim fa23 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru23 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont23 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru23)
StringParser2dsIL.Emit(OpCodes.Br, fa23)
StringParser2dsIL.MarkLabel(tru23)
StringParser2dsIL.MarkSequencePoint(doc4, 202, 1, 202, 100)
Dim typ36(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ36(UBound(typ36) + 1)
typ36(UBound(typ36)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ36(UBound(typ36) + 1)
typ36(UBound(typ36)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Concat", typ36))
Typ = GetType(String).GetMethod("Concat", typ36).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 3)
StringParser2dsIL.MarkSequencePoint(doc4, 203, 1, 203, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont23)
StringParser2dsIL.MarkLabel(fa23)
StringParser2dsIL.Emit(OpCodes.Br, cont23)
StringParser2dsIL.MarkLabel(cont23)
StringParser2dsIL.MarkSequencePoint(doc4, 204, 1, 204, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont20)
StringParser2dsIL.MarkLabel(fa20)
StringParser2dsIL.MarkSequencePoint(doc4, 205, 1, 205, 100)
Dim typ37(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ37(UBound(typ37) + 1)
typ37(UBound(typ37)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldloc, 2)
Typ = GetType(System.String)
ReDim Preserve typ37(UBound(typ37) + 1)
typ37(UBound(typ37)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Concat", typ37))
Typ = GetType(String).GetMethod("Concat", typ37).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 3)
StringParser2dsIL.MarkSequencePoint(doc4, 206, 1, 206, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont20)
StringParser2dsIL.MarkLabel(cont20)
StringParser2dsIL.MarkSequencePoint(doc4, 208, 1, 208, 100)
Dim typ38(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ38(UBound(typ38) + 1)
typ38(UBound(typ38)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
ReDim Preserve typ38(UBound(typ38) + 1)
typ38(UBound(typ38)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, GetType(String).GetMethod("Compare", typ38))
Typ = GetType(String).GetMethod("Compare", typ38).ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 7)
StringParser2dsIL.MarkSequencePoint(doc4, 210, 1, 210, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldloc, 5)
Typ = GetType(System.Int32)
Dim fa24 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru24 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont24 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru24)
StringParser2dsIL.Emit(OpCodes.Br, fa24)
StringParser2dsIL.MarkLabel(tru24)
StringParser2dsIL.MarkSequencePoint(doc4, 211, 1, 211, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 7)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
Dim fa25 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru25 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont25 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, fa25)
StringParser2dsIL.Emit(OpCodes.Br, tru25)
StringParser2dsIL.MarkLabel(tru25)
StringParser2dsIL.MarkSequencePoint(doc4, 212, 1, 212, 100)
Dim typ39(-1) As Type
StringParser2dsIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.String).MakeArrayType()
ReDim Preserve typ39(UBound(typ39) + 1)
typ39(UBound(typ39)) = Typ
StringParser2dsIL.Emit(OpCodes.Ldloc, 3)
Typ = GetType(System.String)
ReDim Preserve typ39(UBound(typ39) + 1)
typ39(UBound(typ39)) = Typ
StringParser2dsIL.Emit(OpCodes.Call, addelem)
Typ = addelem.ReturnType
StringParser2dsIL.Emit(OpCodes.Stloc, 0)
StringParser2dsIL.MarkSequencePoint(doc4, 213, 1, 213, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont25)
StringParser2dsIL.MarkLabel(fa25)
StringParser2dsIL.Emit(OpCodes.Br, cont25)
StringParser2dsIL.MarkLabel(cont25)
StringParser2dsIL.MarkSequencePoint(doc4, 214, 1, 214, 100)
StringParser2dsIL.Emit(OpCodes.Ldstr, "")
Typ = GetType(System.String)
StringParser2dsIL.Emit(OpCodes.Stloc, 3)
StringParser2dsIL.MarkSequencePoint(doc4, 215, 1, 215, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont24)
StringParser2dsIL.MarkLabel(fa24)
StringParser2dsIL.Emit(OpCodes.Br, cont24)
StringParser2dsIL.MarkLabel(cont24)
StringParser2dsIL.MarkSequencePoint(doc4, 217, 1, 217, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 4)
Typ = GetType(System.Int32)
StringParser2dsIL.Emit(OpCodes.Ldloc, 5)
Typ = GetType(System.Int32)
Dim fa26 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim tru26 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
Dim cont26 As System.Reflection.Emit.Label = StringParser2dsIL.DefineLabel()
StringParser2dsIL.Emit(OpCodes.Beq, tru26)
StringParser2dsIL.Emit(OpCodes.Br, fa26)
StringParser2dsIL.MarkLabel(tru26)
StringParser2dsIL.MarkSequencePoint(doc4, 218, 1, 218, 100)
StringParser2dsIL.Emit(OpCodes.Br, label5)
StringParser2dsIL.MarkSequencePoint(doc4, 219, 1, 219, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont26)
StringParser2dsIL.MarkLabel(fa26)
StringParser2dsIL.MarkSequencePoint(doc4, 220, 1, 220, 100)
StringParser2dsIL.Emit(OpCodes.Br, label6)
StringParser2dsIL.MarkSequencePoint(doc4, 221, 1, 221, 100)
StringParser2dsIL.Emit(OpCodes.Br, cont26)
StringParser2dsIL.MarkLabel(cont26)
StringParser2dsIL.MarkSequencePoint(doc4, 223, 1, 223, 100)
StringParser2dsIL.MarkLabel(label5)
StringParser2dsIL.MarkSequencePoint(doc4, 225, 1, 225, 100)
StringParser2dsIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(System.String).MakeArrayType()
StringParser2dsIL.MarkSequencePoint(doc4, 226, 1, 226, 100)
StringParser2dsIL.Emit(OpCodes.Ret)
Dim typ40(-1) As Type
ReDim Preserve typ40(UBound(typ40) + 1)
typ40(UBound(typ40)) = GetType(System.String)
ReDim Preserve typ40(UBound(typ40) + 1)
typ40(UBound(typ40)) = GetType(System.String)
Dim LikeOP As MethodBuilder = ParseUtils.DefineMethod("LikeOP", MethodAttributes.Public Or MethodAttributes.Static, GetType(System.Boolean), typ40)
Dim LikeOPIL As ILGenerator = LikeOP.GetILGenerator()
Dim LikeOPparam01 As ParameterBuilder = LikeOP.DefineParameter(1, ParameterAttributes.None, "str")
Dim LikeOPparam02 As ParameterBuilder = LikeOP.DefineParameter(2, ParameterAttributes.None, "pattern")
LikeOPIL.MarkSequencePoint(doc4, 230, 1, 230, 100)
Dim locbldr39 As LocalBuilder = LikeOPIL.DeclareLocal(GetType(CompareMethod))
locbldr39.SetLocalSymInfo("binmet")
LikeOPIL.Emit(OpCodes.Ldc_I4, 0)
Typ = GetType(System.Int32)
LikeOPIL.Emit(OpCodes.Stloc, 0)
LikeOPIL.MarkSequencePoint(doc4, 231, 1, 231, 100)
Dim locbldr40 As LocalBuilder = LikeOPIL.DeclareLocal(GetType(System.Boolean))
locbldr40.SetLocalSymInfo("likefunc")
Dim typ41(-1) As Type
LikeOPIL.Emit(OpCodes.Ldarg, 0)
Typ = GetType(System.String)
ReDim Preserve typ41(UBound(typ41) + 1)
typ41(UBound(typ41)) = Typ
LikeOPIL.Emit(OpCodes.Ldarg, 1)
Typ = GetType(System.String)
ReDim Preserve typ41(UBound(typ41) + 1)
typ41(UBound(typ41)) = Typ
LikeOPIL.Emit(OpCodes.Ldloc, 0)
Typ = GetType(CompareMethod)
ReDim Preserve typ41(UBound(typ41) + 1)
typ41(UBound(typ41)) = Typ
LikeOPIL.Emit(OpCodes.Call, GetType(LikeOperator).GetMethod("LikeString", typ41))
Typ = GetType(LikeOperator).GetMethod("LikeString", typ41).ReturnType
LikeOPIL.Emit(OpCodes.Stloc, 1)
LikeOPIL.MarkSequencePoint(doc4, 233, 1, 233, 100)
LikeOPIL.Emit(OpCodes.Ldloc, 1)
Typ = GetType(System.Boolean)
LikeOPIL.MarkSequencePoint(doc4, 235, 1, 235, 100)
LikeOPIL.Emit(OpCodes.Ret)
ParseUtils.CreateType()
End Sub

Sub Main()

asmName = New AssemblyName("dnu")
asmName.Version = New System.Version(1, 1, 0, 0)
asm  = AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.Save, CStr("E:\Code\dylannet\dnu\"))
mdl = asm.DefineDynamicModule(asmName.Name & ".dll" , asmName.Name & ".dll", True)
resw = mdl.DefineResource("dnu.resources" ,  "Description")
doc = mdl.DefineDocument("E:\Code\dylannet\dnu\dnu.txt", Guid.Empty, Guid.Empty, Guid.Empty)
doc2 = mdl.DefineDocument("E:\Code\dylannet\dnu\consts.txt", Guid.Empty, Guid.Empty, Guid.Empty)
doc3 = mdl.DefineDocument("E:\Code\dylannet\dnu\xmlu.txt", Guid.Empty, Guid.Empty, Guid.Empty)
doc4 = mdl.DefineDocument("E:\Code\dylannet\dnu\parseu.txt", Guid.Empty, Guid.Empty, Guid.Empty)
addstr("dnu")
addasm(asm)
Dim daType As Type = GetType(DebuggableAttribute)
Dim daCtor As ConstructorInfo = daType.GetConstructor(New Type() { GetType(DebuggableAttribute.DebuggingModes) })
Dim daBuilder As CustomAttributeBuilder = New CustomAttributeBuilder(daCtor, New Object() {DebuggableAttribute.DebuggingModes.DisableOptimizations Or _
DebuggableAttribute.DebuggingModes.Default })
asm.SetCustomAttribute(daBuilder)

Constants()
XmlUtils()
ParseUtils()
Dim vaType As Type = GetType(AssemblyFileVersionAttribute)
Dim vaCtor As ConstructorInfo = vaType.GetConstructor(New Type() { GetType(String) })
Dim vaBuilder As CustomAttributeBuilder = New CustomAttributeBuilder(vaCtor, New Object() {"1.1.0.0"})
asm.SetCustomAttribute(vaBuilder)

Dim paType As Type = GetType(AssemblyProductAttribute)
Dim paCtor As ConstructorInfo = paType.GetConstructor(New Type() { GetType(String) })
Dim paBuilder As CustomAttributeBuilder = New CustomAttributeBuilder(paCtor, New Object() {"dnu"})
asm.SetCustomAttribute(paBuilder)

Dim ataType As Type = GetType(AssemblyTitleAttribute)
Dim ataCtor As ConstructorInfo = ataType.GetConstructor(New Type() { GetType(String) })
Dim ataBuilder As CustomAttributeBuilder = New CustomAttributeBuilder(ataCtor, New Object() {"dnu"})
asm.SetCustomAttribute(ataBuilder)

Dim deaType As Type = GetType(AssemblyDescriptionAttribute)
Dim deaCtor As ConstructorInfo = deaType.GetConstructor(New Type() { GetType(String) })
Dim deaBuilder As CustomAttributeBuilder = New CustomAttributeBuilder(deaCtor, New Object() {"dnu"})
asm.SetCustomAttribute(deaBuilder)


asm.DefineVersionInfoResource()
asm.Save(asmName.Name & ".dll")
End Sub


End Module